Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

226
Vistas
Convert HttpContent into byte[]

I am currently working on a c# web API. For a specific call I need to send 2 images using an ajax call to the API, so that the API can save them as varbinary(max) in the database.

  1. How do you extract an Image or byte[] from a HttpContent object?
  2. How do I do this twice? Once for each image.

-

var authToken = $("#AuthToken").val();
var formData = new FormData($('form')[0]);
debugger;
$.ajax({
    url: "/api/obj/Create/", 
    headers: { "Authorization-Token": authToken },
    type: 'POST',
    xhr: function () { 
        var myXhr = $.ajaxSettings.xhr();
        return myXhr;
    },
    data: formData,
    cache: false,
    contentType: false,
    processData: false
});

-

public async Task<int> Create(HttpContent content)
{
    if (!content.IsMimeMultipartContent())
    {
        throw new UnsupportedMediaTypeException("MIME Multipart Content is not supported");
    }

    return 3;
}
over 4 years ago · Santiago Trujillo
3 Respuestas
Responde la pregunta

0

HttpContent has a Async method which return ByteArray i.e (Task of ByteArray)

 Byte[] byteArray = await Content.ReadAsByteArrayAsync();

You can run the method synchronously

Byte[] byteArray = Content.ReadAsByteArrayAsync().Result;
over 4 years ago · Santiago Trujillo Denunciar

0

if (!content.IsMimeMultipartContent())
{
    throw new UnsupportedMediaTypeException("MIME Multipart Content is not supported");
}

var uploadPath = **whatever**;
if (!Directory.Exists(uploadPath))
{
    Directory.CreateDirectory(uploadPath);
}

var provider = new MultipartFormDataStreamProvider(uploadPath);
await content.ReadAsMultipartAsync(provider);

return File.ReadAllBytes(provider.FileData[0].LocalFileName);
over 4 years ago · Santiago Trujillo Denunciar

0

You can use HttpContent.ReadAsByteArrayAsync:

byte[] bytes = await response.Content.ReadAsByteArrayAsync();

Or, you can read the content with HttpContent.ReadAsStreamAsync and extract to a byte[] from there:

var stream = await response.Content.ReadAsStreamAsync();
using (var memoryStream = new MemoryStream())
{
      await stream.CopyToAsync(memoryStream);
      return memoryStream.ToArray();
}
over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda